Contemporary communication systems enable users to have a number of identities over various systems such as enterprise emails, personal emails, social networking exchanges, and comparable ones. Each of these systems may generate contact lists based on automatic processing of exchange information and/or manual input. A structure and content of contact information for distinct communication systems may be different depending on their infrastructure. Thus, a user may have a plurality of contact information for the same contact stored in each communication system they are associated with.
Increasingly, other applications are becoming capable of providing access to multiple communication systems for a user. For example, an electronic mail exchange application may be configured to send and receive emails from a variety of systems for a user managing the user's identities automatically. Because each communication system tends to have its own contact lists, it is a challenge for users to manage multiple contacts while using multiple communication clients. Not only can contents of contact information from different sources for the same person or entity be distinct, each source may have a different structure/format for their contact data. Thus, aggregating contact information from different source into a single presentation may present structural challenges. Furthermore, when aggregation is performed at a presentation layer such as at a client device or application, changes may be lost when connection to the different data sources is lost or in response to client device/application based events.